home *** CD-ROM | disk | FTP | other *** search
/ Cre@te Online 2000 December / Cre@teOnline CD05.iso / MacSoft / XML ConsoleMax.sea / XML ConsoleMax / Required / parser.jar / com / sun / xml / parser / Parser$NameCache.class (.txt) < prev    next >
Encoding:
Java Class File  |  2000-02-23  |  1.2 KB  |  36 lines

  1. package com.sun.xml.parser;
  2.  
  3. class Parser$NameCache {
  4.    Parser.NameCacheEntry[] hashtable = new Parser.NameCacheEntry[541];
  5.  
  6.    String lookup(char[] var1, int var2) {
  7.       return this.lookupEntry(var1, var2).name;
  8.    }
  9.  
  10.    Parser.NameCacheEntry lookupEntry(char[] var1, int var2) {
  11.       int var3 = 0;
  12.  
  13.       for(int var5 = 0; var5 < var2; ++var5) {
  14.          var3 = var3 * 31 + var1[var5];
  15.       }
  16.  
  17.       var3 &= Integer.MAX_VALUE;
  18.       var3 %= this.hashtable.length;
  19.  
  20.       for(Parser.NameCacheEntry var4 = this.hashtable[var3]; var4 != null; var4 = var4.next) {
  21.          if (var4.matches(var1, var2)) {
  22.             return var4;
  23.          }
  24.       }
  25.  
  26.       Parser.NameCacheEntry var8 = new Parser.NameCacheEntry();
  27.       var8.chars = new char[var2];
  28.       System.arraycopy(var1, 0, var8.chars, 0, var2);
  29.       var8.name = new String(var8.chars);
  30.       var8.name = var8.name.intern();
  31.       var8.next = this.hashtable[var3];
  32.       this.hashtable[var3] = var8;
  33.       return var8;
  34.    }
  35. }
  36.